Fechar

@PhDThesis{Arantes:2016:CoStAn,
               author = "Arantes, Alessandro Oliveira",
                title = "REACTOR: Combining static analysis, testing and reverse 
                         engineering to detect software defects",
               school = "Instituto Nacional de Pesquisas Espaciais (INPE)",
                 year = "2016",
              address = "S{\~a}o Jos{\'e} dos Campos",
                month = "2016-05-02",
             keywords = "static code analysis, software testing, reverse engineering, test 
                         case generation, test oracle, an{\'a}lise est{\'a}tica de 
                         c{\'o}digo fonte, testes de software, engenharia reversa, 
                         gera{\c{c}}{\~a}o de caso de teste, or{\'a}culo de teste.",
             abstract = "It is increasingly common the use of computer systems to replace 
                         human labor in critical systems, and since these systems have 
                         become more autonomous in decision making, they demand a high 
                         degree of quality and robustness. INPE develops embedded systems 
                         for scientific satellites and stratospheric balloons; 
                         consequently, the process of verification and validation require 
                         special care in detecting and preventing defects. In terms of 
                         complexity and system\${'}\$s domain in question, these 
                         processes consume specialists manpower for a long period. In this 
                         scenario, the application of techniques that can automatically 
                         support test process provide a significant gain in specialists 
                         productivity and efficiency. For this purpose, this work performs 
                         the source code reverse engineering in order to support a 
                         combination of two V\\&V processes, static source code analysis 
                         and software testing, in order to detect a wider range of defects. 
                         The proposed method, called REACTOR (Reverse Engineering for 
                         stAtic Code analysis and Testing to detect sOftwaRe defects), 
                         complements the traditional way that static code analyzers work by 
                         using dynamic information obtained by an automated test case 
                         generator, which combines three different black box techniques, 
                         being also possible to infer a set of estimated expected results 
                         similar to a test oracle. However, the combination of such 
                         techniques is not trivial, especially in terms of tasks that 
                         commonly demand some action that are not easily automated. 
                         Furthermore, the static analysis by itself can not reveal several 
                         types of defects that can only be detected by combining static 
                         analysis and dynamic information. The REACTOR method has been 
                         implemented in a software tool, also called REACTOR, which exempts 
                         from a large manual labors amount from testers by automating the 
                         process and basing only on applications source code. In addition, 
                         REACTOR was applied to some case studies including one of the 
                         space application domain, and it performed better than three other 
                         well known static code analyzers. RESUMO: {\'E} cada vez mais 
                         comum a utiliza{\c{c}}{\~a}o de sistemas computacionais em 
                         substitui{\c{c}}{\~a}o {\`a} m{\~a}o de obra humana em 
                         sistemas cr{\'{\i}}ticos, e na medida em que estes sistemas 
                         t{\^e}m se tornado mais aut{\^o}nomos para tomar decis{\~o}es, 
                         eles exigem um alto grau de qualidade e robustez. O INPE 
                         desenvolve sistemas embarcados para sat{\'e}lites 
                         cient{\'{\i}}ficos e bal{\~o}es estratosf{\'e}ricos; 
                         consequentemente, os processos de verifica{\c{c}}{\~a}o e 
                         valida{\c{c}}{\~a}o exigem cuidados especiais na 
                         detec{\c{c}}{\~a}o e preven{\c{c}}{\~a}o de defeitos. E tendo 
                         em vista a complexidade e o dom{\'{\i}}nio dos sistemas em 
                         quest{\~a}o, estes processos consomem a m{\~a}o de obra 
                         especialista por um longo per{\'{\i}}odo. Neste cen{\'a}rio, a 
                         aplica{\c{c}}{\~a}o de t{\'e}cnicas que possam efetuar testes 
                         de forma autom{\'a}tica auxiliam o processo proporcionando um 
                         ganho significativo de produtividade e efic{\'a}cia no trabalho 
                         dos especialistas. Com esse objetivo, este trabalho realiza a 
                         engenharia reversa de c{\'o}digo-fonte de modo a combinar dois 
                         processos de V\\&V, an{\'a}lise est{\'a}tica de c{\'o}digo 
                         fonte e teste de software, a fim de detectar uma gama mais ampla 
                         de defeitos. O m{\'e}todo proposto, denominado REACTOR (Reverse 
                         Engineering for stAtic Code analysis and Testing to detect 
                         sOftwaRe defects), complementa a maneira tradicional pela qual os 
                         analisadores de c{\'o}digo est{\'a}tico trabalham usando 
                         informa{\c{c}}{\~o}es din{\^a}micas obtidas por um gerador de 
                         caso de teste automatizado, que combina tr{\^e}s t{\'e}cnicas de 
                         caixa preta diferentes, sendo tamb{\'e}m poss{\'{\i}}vel 
                         inferir um conjunto de resultados esperados estimados similar a um 
                         or{\'a}culo de teste. Ainda assim, a leitura do c{\'o}digo fonte 
                         est{\'a}tico por si s{\'o} pode n{\~a}o revelar v{\'a}rios 
                         tipos de defeitos que s{\'o} podem ser detectados combinando a 
                         an{\'a}lise est{\'a}tica com informa{\c{c}}{\~a}o 
                         din{\^a}mica. O m{\'e}todo REACTOR foi implementado em uma 
                         ferramenta de software, tamb{\'e}m chamado de REACTOR, que poupa 
                         os testadores de um grande volume de trabalho manual automatizando 
                         o processo e baseando-se apenas no c{\'o}digo fonte. Al{\'e}m 
                         disso, a REACTOR foi aplicada em alguns casos de estudo incluindo 
                         uma aplica{\c{c}}{\~a}o da {\'a}rea espacial, e seu desempenho 
                         foi melhor do que outras tr{\^e}s conhecidos analisadores de 
                         c{\'o}digo est{\'a}tico.",
            committee = "Carvalho, Solon Ven{\^a}ncio de (presidente) and Santiago 
                         J{\'u}nior, Valdivino Alexandre de (orientador) and Vijaykumar, 
                         Nandamudi Lankalapalli (orientador) and Queiroz, Gilberto Ribeiro 
                         de and Musa, Daniela Leal and Shiguemori, Elcio Hideiti",
           copyholder = "SID/SCD",
         englishtitle = "REACTOR: Combinando an{\'a}lise est{\'a}tica, teste de software 
                         e engenharia reversa para detec{\c{c}}{\~a}o de defeitos de 
                         software",
             language = "en",
                pages = "210",
                  ibi = "8JMKD3MGP3W34P/3LHFRE2",
                  url = "http://urlib.net/ibi/8JMKD3MGP3W34P/3LHFRE2",
           targetfile = "publicacao.pdf",
        urlaccessdate = "28 abr. 2024"
}


Fechar